Skip to content

Migrate ext-apps to @modelcontextprotocol/server v2 SDK#710

Open
khandrew1 wants to merge 7 commits into
modelcontextprotocol:mainfrom
khandrew1:codex/mcp-sdk-v2-beta4-migration
Open

Migrate ext-apps to @modelcontextprotocol/server v2 SDK#710
khandrew1 wants to merge 7 commits into
modelcontextprotocol:mainfrom
khandrew1:codex/mcp-sdk-v2-beta4-migration

Conversation

@khandrew1

@khandrew1 khandrew1 commented Jul 15, 2026

Copy link
Copy Markdown
Contributor

Migrates the Apps SDK to the base MCP SDK v2.0.0-beta.4 split packages, replacing @modelcontextprotocol/sdk v1 across the codebase. This is a breaking dependency update; App protocol negotiation and behavior remain unchanged.

  • Refactors

    • App now subclasses @modelcontextprotocol/client Client; AppBridge subclasses @modelcontextprotocol/server Server for the inner iframe, with a separate outer Client to the MCP server.
    • Preserves the inner double handshake and Apps-ready gate; replaces protocol inheritance with a composed EventDispatcher.
    • Updates examples to use @modelcontextprotocol/express, @modelcontextprotocol/node (NodeStreamableHTTPServerTransport), and @modelcontextprotocol/server/stdio.
    • Standardizes schemas to z.object({...}); updates docs/snippets; externalizes peer deps for @modelcontextprotocol/{client,core,server} and zod in standard builds.
    • Regenerates lockfile for npm 10.
  • Migration

    • Install and pin: @modelcontextprotocol/client@2.0.0-beta.4, @modelcontextprotocol/server@2.0.0-beta.4, @modelcontextprotocol/core@2.0.0-beta.4, and zod@^4.2.0 (examples may also need @modelcontextprotocol/express and @modelcontextprotocol/node).
    • Update imports from @modelcontextprotocol/sdk v1 to the split packages (e.g., createMcpExpressApp from @modelcontextprotocol/express, StdioServerTransport from @modelcontextprotocol/server/stdio).
    • Change tool/resource schemas to z.object({ ... }); remove .shape usage and pass Zod schemas directly.
    • Ensure Node 20+; reinstall and rebuild (npm install, then build/tests).

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)
  • Documentation update

Checklist

  • I have read the MCP Documentation
  • My code follows the repository's style guidelines
  • New and existing tests pass locally
  • I have added appropriate error handling
  • I have added or updated documentation as needed

Additional context

@khandrew1 khandrew1 changed the title Codex/mcp sdk v2 beta4 migration Migrate ext-apps to @modelcontextprotocol/server v2 SDK Jul 15, 2026
@pkg-pr-new

pkg-pr-new Bot commented Jul 15, 2026

Copy link
Copy Markdown

Open in StackBlitz

@modelcontextprotocol/ext-apps

npm i https://pkg.pr.new/@modelcontextprotocol/ext-apps@710

@modelcontextprotocol/server-basic-preact

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-preact@710

@modelcontextprotocol/server-basic-react

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-react@710

@modelcontextprotocol/server-basic-solid

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-solid@710

@modelcontextprotocol/server-basic-svelte

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-svelte@710

@modelcontextprotocol/server-basic-vanillajs

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-vanillajs@710

@modelcontextprotocol/server-basic-vue

npm i https://pkg.pr.new/@modelcontextprotocol/server-basic-vue@710

@modelcontextprotocol/server-budget-allocator

npm i https://pkg.pr.new/@modelcontextprotocol/server-budget-allocator@710

@modelcontextprotocol/server-cohort-heatmap

npm i https://pkg.pr.new/@modelcontextprotocol/server-cohort-heatmap@710

@modelcontextprotocol/server-customer-segmentation

npm i https://pkg.pr.new/@modelcontextprotocol/server-customer-segmentation@710

@modelcontextprotocol/server-debug

npm i https://pkg.pr.new/@modelcontextprotocol/server-debug@710

@modelcontextprotocol/server-lazy-auth

npm i https://pkg.pr.new/@modelcontextprotocol/server-lazy-auth@710

@modelcontextprotocol/server-map

npm i https://pkg.pr.new/@modelcontextprotocol/server-map@710

@modelcontextprotocol/server-pdf

npm i https://pkg.pr.new/@modelcontextprotocol/server-pdf@710

@modelcontextprotocol/server-scenario-modeler

npm i https://pkg.pr.new/@modelcontextprotocol/server-scenario-modeler@710

@modelcontextprotocol/server-shadertoy

npm i https://pkg.pr.new/@modelcontextprotocol/server-shadertoy@710

@modelcontextprotocol/server-sheet-music

npm i https://pkg.pr.new/@modelcontextprotocol/server-sheet-music@710

@modelcontextprotocol/server-system-monitor

npm i https://pkg.pr.new/@modelcontextprotocol/server-system-monitor@710

@modelcontextprotocol/server-threejs

npm i https://pkg.pr.new/@modelcontextprotocol/server-threejs@710

@modelcontextprotocol/server-transcript

npm i https://pkg.pr.new/@modelcontextprotocol/server-transcript@710

@modelcontextprotocol/server-video-resource

npm i https://pkg.pr.new/@modelcontextprotocol/server-video-resource@710

@modelcontextprotocol/server-wiki-explorer

npm i https://pkg.pr.new/@modelcontextprotocol/server-wiki-explorer@710

commit: f50ec6e

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Migrate ext-apps to @modelcontextprotocol/server v2 SDK

1 participant